package com.fowo.api.model.amazon.order.list.product.detail;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ContentStyle;
import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum;
import javax.validation.constraints.*;
import lombok.Data;

/** 亚马逊列表子表详情 导入导出辅助模型 */
@Data
public class AmazonOrderListProductDetailExcelPo {

  @ExcelProperty(value = "产品id")
  private Long productId;

  @Size(max = 50, message = "商品标题长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "商品标题")
  private String title;

  @Size(max = 500, message = "MSKU长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "MSKU")
  private String msku;

  @Size(max = 50, message = "ASIN长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "ASIN")
  private String asin;

  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "所属亚马逊订单详情")
  private String parentAmazonOrderListDetailAmazonOrderId;

  @ExcelIgnore
  @ExcelProperty(value = "所属亚马逊订单详情")
  private Long parentAmazonOrderListDetail;

  @Size(max = 50, message = "积分成本（日本站会有此数据）长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "积分成本（日本站会有此数据）")
  private String pointsMonetaryValueAmount;

  @Size(max = 50, message = "下单数量长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "下单数量")
  private String quantityOrdered;

  @ExcelProperty(value = "已配送")
  private Long quantityShipped;

  @Size(max = 50, message = "商品支付金额长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "商品支付金额")
  private String itemPriceAmount;

  @Size(max = 50, message = "商品税长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "商品税")
  private String itemTaxAmount;

  @Size(max = 50, message = "商品运费配送费长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "商品运费配送费")
  private String shippingPriceAmount;

  @Size(max = 50, message = "商品运费税长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "商品运费税")
  private String shippingTaxAmount;

  @Size(max = 50, message = "礼品包装费长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "礼品包装费")
  private String giftWrapPriceAmount;

  @Size(max = 50, message = "礼品包装税长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "礼品包装税")
  private String giftWrapTaxAmount;

  @Size(max = 50, message = "配送折扣长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "配送折扣")
  private String shippingDiscountAmount;

  @Size(max = 50, message = "COD服务费用（货到付款服务费）长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "COD服务费用（货到付款服务费）")
  private String codFeeAmount;

  @Size(max = 10000, message = "商品促销id长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "商品促销id")
  private String promotionIds;

  @Size(max = 50, message = "配送折扣税长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "配送折扣税")
  private String shippingDiscountTaxAmount;

  @Size(max = 50, message = "商品促销折扣长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "商品促销折扣")
  private String promotionDiscountAmount;

  @Size(max = 50, message = "商品促销折扣税长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "商品促销折扣税")
  private String promotionDiscountTaxAmount;

  @Size(max = 50, message = "COD服务费用折扣长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "COD服务费用折扣")
  private String codFeeDiscountAmount;

  @Size(max = 50, message = "礼品信息（买家提供）长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "礼品信息（买家提供）")
  private String giftMessageText;

  @Size(max = 50, message = "商品状况说明（卖家提供）长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "商品状况说明（卖家提供）")
  private String conditionNote;

  @Size(max = 50, message = "商品状况（卖家提供）长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "商品状况（卖家提供）")
  private String conditionId;

  @Size(max = 50, message = "商品子状况（卖家提供）长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "商品子状况（卖家提供）")
  private String conditionSubtypeId;

  @Size(max = 50, message = "计划交货开始日期长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "计划交货开始日期")
  private String scheduledDeliveryStartDate;

  @Size(max = 50, message = "计划交货结束日期长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "计划交货结束日期")
  private String scheduledDeliveryEndDate;

  @Size(max = 50, message = "B2B价格长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "B2B价格")
  private String priceDesignation;

  @Size(max = 50, message = "店铺编码长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "店铺编码")
  private String scode;

  @Size(max = 50, message = "店铺id长度不能超过20")
  @ExcelProperty(value = "店铺id")
  private Long sid;

  @Size(max = 50, message = "SKU长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "SKU")
  private String sku;

  @Size(max = 500, message = "品名长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "品名")
  private String productName;

  @ExcelProperty(value = "采购成本")
  private java.math.BigDecimal cgPrice;

  @Size(max = 50, message = "其他费名称长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "其他费名称")
  private String feeName;

  @Size(max = 50, message = "头程费用长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "头程费用")
  private String cgTransportCosts;

  @Size(max = 50, message = "FBA发货费长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "FBA发货费")
  private String fbaShipmentAmount;

  @Size(max = 50, message = "平台费长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "平台费")
  private String commissionAmount;

  @Size(max = 50, message = "亚马逊收取的其他费用长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "亚马逊收取的其他费用")
  private String otherAmount;

  @Size(max = 50, message = "asin链接长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "asin链接")
  private String asinUrl;

  @Size(max = 50, message = "其他费币种长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "其他费币种")
  private String feeCurrency;

  @Size(max = 50, message = "其他费币种符号长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "其他费币种符号")
  private String feeIcon;

  @Size(max = 50, message = "其他费长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "其他费")
  private String feeCostAmount;

  @Size(max = 50, message = "其他费金额长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "其他费金额")
  private String feeCost;

  @ExcelProperty(value = "销售收益")
  private java.math.BigDecimal salesPriceAmount;

  @ExcelProperty(value = "单价")
  private java.math.BigDecimal unitPriceAmount;

  @ExcelProperty(value = "税费")
  private java.math.BigDecimal taxAmount;

  @Size(max = 50, message = "促销税长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "促销税")
  private String promotionAmount;

  @ExcelProperty(value = "毛利润")
  private java.math.BigDecimal profit;

  @Size(max = 50, message = "商品折扣长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "商品折扣")
  private String itemDiscount;
}
